/**
 * 
 */
package org.seckill.util.proxy;

import java.lang.reflect.Method;

/**
 * 
 * @author yue
 * 2016年6月1日 下午11:57:33
 */
public class HelloAop extends AbstractAopFactory {

	/**
	 * @param proxyed
	 */
	public HelloAop(Object proxyed) {
		super(proxyed);
	}

	/* 
	 * @param method
	 * @param args 
	 */
	@Override
	protected void invokeBefore(Method method, Object[] args) {
		System.out.println("调用的方法名："+method.getName());
		Class<?>[] types = method.getParameterTypes();
		for(Class<?> type:types){
			System.out.println("调用的参数名类型："+type.getName());
		}
	}

	/* 
	 * @param proxy
	 * @param result 
	 */
	@Override
	protected void invokeAfter(Method proxy, Object result) {
		System.out.println("方法返回值类型："+proxy.getReturnType());
		System.out.println("方法返回值："+result);
	}


}
